package cn.admin.configcenter.registry.service.push;

public class PushProfileTime {

    public long createTime = 0L;
    public long inQueueTime = 0L;
    public long outQueueTime = 0L;
    public long finishCountPushDataTime = 0L;
    public long pushTaskStartTime = 0L;
    public long finishZipPushDataTime = 0L;
    public long finishStatZipEffect = 0L;
    public long pushTaskOverTime = 0L;

    public long totalConsumeTime() {
        return this.pushTaskOverTime - this.createTime;
    }

    public long beforeTask() {
        return this.pushTaskStartTime - this.createTime;
    }

    public long putIntoQueueTime() {
        return this.inQueueTime - this.createTime;
    }

    public long inQueueTime() {
        return this.outQueueTime - this.inQueueTime;
    }

    public long countPushDataTime() {
        return this.finishCountPushDataTime - this.outQueueTime;
    }

    public long waitPushThreadRunTime() {
        return this.pushTaskStartTime - this.finishCountPushDataTime;
    }

    public long taskRunTime() {
        return this.pushTaskOverTime - this.pushTaskStartTime;
    }

    public long zipTime() {
        return this.finishZipPushDataTime - this.pushTaskStartTime;
    }

    public long statZipEffectTime() {
        return this.finishStatZipEffect - this.finishZipPushDataTime;
    }

}
